<div id="Wrappers"></div>
<div class="header">
<p>
Next: [[cvs: The commit support files#The commit support files|commit files]], Previous: [[cvs: The modules file#The modules file|modules]], Up: [[cvs: Reference manual for Administrative files#Reference manual for Administrative files|Administrative files]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>

----

<div id="The-cvswrappers-file"></div>
=== The cvswrappers file ===
<div id="index-cvswrappers-_0028admin-file_0029"></div>
<div id="index-CVSWRAPPERS_002c-environment-variable"></div>
<div id="index-Wrappers"></div>


Wrappers refers to a <small>CVS</small> feature which lets you
control certain settings based on the name of the file
which is being operated on.  The settings are &lsquo;<code>-k</code>&rsquo;
for binary files, and &lsquo;<code>-m</code>&rsquo; for nonmergeable text
files.

The &lsquo;<code>-m</code>&rsquo; option
specifies the merge methodology that should be used when
a non-binary file is updated.  <code>MERGE</code> means the usual
<small>CVS</small> behavior: try to merge the files.  <code>COPY</code>
means that <code>cvs update</code> will refuse to merge
files, as it also does for files specified as binary
with &lsquo;<code>-kb</code>&rsquo; (but if the file is specified as
binary, there is no need to specify &lsquo;<code>-m 'COPY'</code>&rsquo;).
<small>CVS</small> will provide the user with the
two versions of the files, and require the user using
mechanisms outside <small>CVS</small>, to insert any necessary
changes.

'''WARNING: do not use <code>COPY</code> with
<small>CVS</small> 1.9 or earlier - such versions of <small>CVS</small> will
copy one version of your file over the other, wiping
out the previous contents.'''
The &lsquo;<code>-m</code>&rsquo; wrapper option only affects behavior when
merging is done on update; it does not affect how files
are stored.  See [[cvs: Handling binary files#Handling binary files|Binary files]], for more on
binary files.

The basic format of the file &lsquo;<tt>cvswrappers</tt>&rsquo; is:

<div class="example" style="margin-left: 3.2em">
 wildcard     <nowiki>[</nowiki>option value<nowiki>][</nowiki>option value<nowiki>]</nowiki>...
 
 where option is one of
 -m           update methodology      value: MERGE or COPY
 -k           keyword expansion       value: expansion mode
 
 and value is a single-quote delimited value.
</div>


For example, the following command imports a
directory, treating files whose name ends in
&lsquo;<code>.exe</code>&rsquo; as binary:

<div class="example" style="margin-left: 3.2em">
 cvs import -I ! -W &quot;*.exe -k 'b'&quot; first-dir vendortag reltag
</div>



----

<div class="header">
<p>
Next: [[cvs: The commit support files#The commit support files|commit files]], Previous: [[cvs: The modules file#The modules file|modules]], Up: [[cvs: Reference manual for Administrative files#Reference manual for Administrative files|Administrative files]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>
This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
